home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / vis082s.arc / WARDEN.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-17  |  2KB  |  97 lines

  1. program validate;
  2.  
  3. uses dos,crt;
  4.  
  5. type
  6.     string15 = String[35];
  7.     SerialType = Record
  8.         id: string15;
  9.         Sysop : String[80];
  10.         end;
  11.  
  12. const
  13.     SerialNum : SerialType =
  14.         ( id:'[ Evaluation Copy ]'; Sysop:'[ Unregistered BBS ]');
  15.  
  16. var
  17.     ch: char;
  18.     s: serialtype;
  19.     x: byte;
  20.     c,new: longint;
  21.     f: file;
  22.     Ser: SerialType;
  23.         dummy:string15;
  24.         shitbags:string15;
  25.  
  26. procedure Encode(var ser: SerialType);
  27. var tp1:string15;
  28.     tp2:string[80];
  29.     i:integer;
  30. begin
  31. tp1:='';
  32. for i:=1 to length(ser.id) do tp1:=tp1+chr(ord(ser.id[i])+i);
  33. tp2:='';
  34. for i:=1 to length(ser.sysop) do tp2:=tp2+chr(ord(ser.sysop[i])+i);
  35. ser.id:=tp1;
  36. ser.sysop:=tp2;
  37. end;
  38.  
  39. procedure Decode(var s: SerialType);
  40. begin
  41. end;
  42.  
  43. procedure GetSerial(var S: SerialType; var c: longint);
  44. var
  45.     f: file;
  46. begin
  47.     assign(f, 'VISION.EXE');
  48.     reset(f,1);
  49.     c:=FileSize(f);
  50.     c:=c-SizeOf(SerialType);
  51.     s.id:='';
  52.     while (c>0) and (s.Id <> SerialNum.ID ) do
  53.         begin
  54.         seek(f,c);
  55.         blockread(f,s,SizeOf(s));
  56.         Dec(c);
  57.         end;
  58.     close(f);
  59.    inc(c);
  60. end;
  61.  
  62. begin
  63.         clrscr;
  64.         textcolor(15);
  65.                 dummy:='The WardeN';
  66.                 write('ViSiON BBS registration utility for ');
  67.                 textcolor(14);
  68.                 writeln(dummy);
  69.                 textcolor(15);
  70.                 write('Searching for... ');
  71.                 textcolor(13);
  72.                 writeln(serialnum.id);
  73.                 writeln;           textcolor(15);
  74.     write('Searching File: ');textcolor(12);write('VISION.EXE');textcolor(15);
  75.   write('...');
  76.     GetSerial(Ser,c);
  77.     ser.sysop:='Maximum Security';
  78.         ser.id:=dummy;
  79.   encode(ser);
  80.     assign(f, 'VISION.EXE' );
  81.     reset(f,1);
  82.     s.id:='';
  83.     while (c>0) and (s.id <>SerialNum.ID ) do begin
  84.         seek(f,c);
  85.         blockread(f,s,SizeOf(serialnum));
  86.         Dec(c);
  87.         end;
  88.     if ( c > 0 ) then begin
  89.         Seek(f,c+1);
  90.         {SerialNum.Sysop :=Ser.Sysop; }
  91.  
  92.         BlockWrite(f,Ser,SizeOf(Ser));
  93.         end;
  94.     close(f);
  95.  
  96. end.
  97.